<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // var a = b = 10;  // 预解析不会管b 
        // a = 20;
        // b = 20;
        // console.log(a); //20
        // console.log(b); //20 

        /* 预解析  */
        // var 只是给你声明一个变量 但是不赋值  

        // 这个a 是一个全局变量  


        // 执行 
        // b=10  因为预解析并没有声明变量 b 
        // 先把b 定义成一个全局变量 然后进行赋值  
        // a = b 


        /* var a = b; 
        a = 20;
        b = 20;
        console.log(a);
        console.log(b); */

        /* 预解析 */

        // 声明一个变量a  没有赋值 

        /* 执行 */
        // 访问b 赋值给a 
        // 访问b的时候 因为本作用域没有 window也没有
        // 所以直接报错
    </script>  
</body>
</html>